package com.lqw.vhr.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lqw.vhr.utils.annotation.TitleAnnotation;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class Employee implements Serializable {

    @TitleAnnotation(titleName = "编号",exportIgnore = true)
    private Integer id;

    @TitleAnnotation(titleName = "姓名")
    private String name;

    @TitleAnnotation(titleName = "性别")
    private String gender;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @TitleAnnotation(titleName = "出生日期",dataFormat = "m/d/yy",cellType = Date.class)
    private Date birthday;

    @TitleAnnotation(titleName = "身份证号码")
    private String idCard;

    @TitleAnnotation(titleName = "婚姻状态")
    private String wedlock;

    private Integer nationId;

    @TitleAnnotation(titleName = "民族")
    private String nationName;

    @TitleAnnotation(titleName = "籍贯")
    private String nativePlace;

    private Integer politicId;

    @TitleAnnotation(titleName = "政治面貌")
    private String politicName;

    @TitleAnnotation(titleName = "邮箱")
    private String email;

    @TitleAnnotation(titleName = "电话号码")
    private String phone;

    @TitleAnnotation(titleName = "联系地址")
    private String address;

    private Integer departmentId;

    @TitleAnnotation(titleName = "所属部门")
    private String deptName;

    private Integer jobLevelId;

    @TitleAnnotation(titleName = "职称")
    private String jobLevelName;

    private Integer posId;

    @TitleAnnotation(titleName = "职位")
    private String posName;

    @TitleAnnotation(titleName = "聘用形式")
    private String engageForm;

    @TitleAnnotation(titleName = "最高学历")
    private String tiptopDegree;

    @TitleAnnotation(titleName = "专业")
    private String specialty;

    @TitleAnnotation(titleName = "毕业院校")
    private String school;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @TitleAnnotation(titleName = "入职日期",dataFormat = "m/d/yy",cellType = Date.class)
    private Date beginDate;

    @TitleAnnotation(titleName = "在职状态")
    private String workState;

    @TitleAnnotation(titleName = "工号")
    private String workID;

    @TitleAnnotation(titleName = "工作年限",cellType = Double.class)
    private Double contractTerm;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @TitleAnnotation(titleName = "转正日期",dataFormat = "m/d/yy",cellType = Date.class)
    private Date conversionTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private Date notWorkDate;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @TitleAnnotation(titleName = "合同起始日期",dataFormat = "m/d/yy",cellType = Date.class)
    private Date beginContract;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @TitleAnnotation(titleName = "合同终止日期",dataFormat = "m/d/yy",cellType = Date.class)
    private Date endContract;

    private Integer workAge;
    private Nation nation;
    private Politicsstatus politicsstatus;
    private Department department;
    private JobLevel jobLevel;
    private Position position;
    private Salary salary;
}